package com.us.listener.operation;

import java.util.Set;

import org.nutz.dao.entity.annotation.Table;
import org.nutz.dao.impl.NutDao;

import com.us.dao.Dao;
import com.us.util.ClassUtil;
import com.us.util.UsLogUtil;
import com.us.vo.Vo;

public class CreateDBAction {

    /**
     * 作用:唯一的对外接口,创建数据库
     */
    public static void createDB() {

        Set<Class<?>> set = ClassUtil.getClassWithAnnoByPackage(Table.class, Vo.DEFAULT_VO_PACKAGE);
        NutDao dao = new Dao().getDao();
        for (Class<?> vo : set) {
            if (!dao.exists(vo)) {
                dao.create(vo, Vo.DROP_TABLE_IFEXIST);
                UsLogUtil.getLog(CreateDBAction.class).info(String.format("创建表[%s]成功", vo.getSimpleName()));
            } else {
                UsLogUtil.getLog(CreateDBAction.class).info(String.format("[%s]表已经存在，跳过创建", vo.getSimpleName()));
            }
        }

    }

}
